Expanded search and find user interface

ABSTRACT

A search and find user interface is provided that is integrated with a data indexing engine to allow efficient and high-speed data search and retrieval across data storage folders associated with a given software module or associated with a number of disparate software modules. An expanded form of the search and find user interface is provided for advanced searching. Where searching is required beyond a present search scope, an automatic “upscoping” mechanism is provided for expanding a search to data storage folders outside a current data storage folder on which an initial search is executed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application claims priority to U.S. Patent Application Ser.No. 60/716,267 filed Sep. 12, 2005 and entitled “Integrated Search UserExperience Utilizing Tri-Pane/Minibar Design,” U.S. Patent ApplicationSer. No. 60/716,358 filed Sep. 12, 2005 and entitled “AdvancedSearching—Use of Recall Landmarks in Expanded Find UserExperience—Expanding Find Pane,” and U.S. Patent Application Ser. No.60/716,236 filed Sep. 12, 2005 and entitled “Upscoping Searches,” thedisclosures of which are expressly incorporated herein, in theirentirety, by reference.

This patent application is also related to and filed concurrently withU.S. patent application Ser. No. ______, entitled “Integrated Search andFind User Interface,” bearing attorney docket number14917.0169USU1/MS312667.02; and U.S. patent application Ser. No. ______,entitled “Search and Find Using Expanded Search Scope,” bearing attorneydocket number 14917.0171USU1/MS312669.02 which are assigned to the sameassignee as the present application and expressly incorporated herein,in their entirety, by reference.

BACKGROUND

With the advent of the computer age, computer software users have grownaccustomed to user-friendly software applications that help them write,calculate, organize, prepare presentations, send and receive electronicmail, make music, and the like. Electronic mail applications allow usersto send and receive electronic mail to and from other users. Electronicmail applications also allow users to store sent or received mail in avariety of user-established storage folders. Electronic calendarapplications allow users to maintain a variety of calendar information,such as appointments, in an electronic medium. Contacts applicationsallow users to maintain, sort and access contact information, such asnames, addresses, telephone numbers, electronic mail addresses, and thelike for a variety of persons or entities. Other applications, forexample, tasks applications, notes applications and journal applicationsallow users to create, maintain and store a variety of electronic data,such as tasks, notes, journal entries, etc. Multiple functionalityapplications have been developed with which a variety of softwaremodules, for example, electronic mail, calendar, contacts, tasks, notes,journals, etc. may be available through a single software applicationthat allows users to switch between the different software modules upondemand.

With such software applications, users typically store large amounts ofdata in various storage locations associated with each application orassociated with different software modules of a multiple functionalityapplication. For example, users often store received electronic mailitems, sent electronic mail items and even deleted electronic mail itemsin one or more storage folders associated with an electronic mailapplication. Users store calendar information, such as appointments, inpersonal calendars, business calendars, social calendars and the like. Avariety of contacts information may be stored, such as names, addresses,telephone numbers, electronic mail addresses, etc. Other informationstored by users with such applications includes notes, tasks, journalitems, and the like stored in one or more storage locations.

Search and find mechanisms have been developed for locating a particularstored data item or a number of stored data items associated with aparticular search attribute or property (for example, a mail item,contact item, calendar item, etc.) But, existing search and findmechanisms typically search across entire data storage areas (forexample, all received electronic mail) and do not offer the opportunityfor search of sub-storage areas making up larger storage areas. Thus,such searches tend to be slow and often return large amounts of datathat are not particularly relevant to the search. If such a search isexecuted and no acceptable result is returned, users are often requiredto conduct expanded or advanced searches. However, average users who donot use such search and find functionality frequently often do notpossess the required skills or patience to conduct more advancedsearching for one or more needed data items. In addition, often a userconducts a search in a particular storage area, for example, a receivedmail folder, only to be frustrated when the desired item is not located.In many cases, the desired item is stored, but is not stored in thestorage location searched by the user, and the user lacks a means forefficiently changing the scope of the search to include other storagelocations.

It is with respect to these and other considerations that the presentinvention has been made.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Embodiments of the present invention solve the above and other problemsby providing an improved search and find function that integrates a dataindexing engine for efficient and high speed data search and retrieval.A simplified search and find user interface is provided that isdisplayed in close proximity to selectable data storage folders and toother user interface components of a given software module, for example,an electronic mail software module. The search and find user interfacemay be used for searching data stored in a particular storage folderassociated with a given software module (for example, a sent mail folderassociated with an electronic mail module). According to an embodiment,if advanced search is desired, an expanded form of the search and finduser interface is provided to allow tailored searching based onattributes associated with a desired data item, such as date received,date sent, presence of attachments, presence of flags or links, and thelike.

If a broader search is desired, a given search may be automatically“upscoped” so that a given search request is applied to a broader scopeof data (for example, all electronic mail folders associated with anelectronic mail module). In the case of multiple-functionality softwareapplications with multiple software modules, for example, electronicmail, electronic calendaring, contacts, tasks, notes, journals, and thelike, both the simplified and the expanded search and find userinterfaces and associated functionalities may be utilized acrossdisparate software modules for search and retrieval of data associatedwith different modules.

These and other features and advantages, which characterize the presentinvention, will be apparent from a reading of the following detaileddescription and a review of the associated drawings. It is to beunderstood that both the foregoing general description and the followingdetailed description are explanatory only and are not restrictive of theinvention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary computing operating environment.

FIG. 2 illustrates a computer screen display of an electronic mailapplication user interface showing an integrated search and find pane.

FIG. 3 illustrates a computer screen display of a search and find userinterface.

FIG. 4 illustrates a computer screen display of a search and find userinterface.

FIG. 5 illustrates a computer screen display showing a list of dataresponsive to a search and find operation.

FIG. 6 illustrates a computer screen display of an electronic mailapplication user interface showing an expanded search and find userinterface.

FIG. 7 illustrates a computer screen display of an expanded search andfind user interface.

FIG. 8 illustrates a list of data responsive to a search and findoperation and showing an upscoping link for expanding the scope of asearch and find operation.

FIG. 9 illustrates computer screen displays showing lists of storagefolders associated with a number of software modules.

FIG. 10 illustrates the computer screen display of FIG. 2, showing adropdown menu for selectively changing the scope of a given searchoperation, or for obtaining one or more additional functionalities.

DETAILED DESCRIPTION

As briefly described above, embodiments of the present invention aredirected to a search and find user interface that is integrated with adata indexing engine to allow efficient and high-speed data search andretrieval across data storage folders associated with a given softwaremodule or associated with a number of disparate software modules. Anexpanded form of the search and find user interface is provided foradvanced searching, and where searching is required beyond a presentsearch scope, an automatic upscoping mechanism is provided for expandinga search to data storage folders outside a current data storage folderon which an initial search is executed. In the following detaileddescription, references are made to the accompanying drawings that forma part hereof, and in which are shown by way of illustrations specificembodiments or examples. These embodiments may be combined, otherembodiments may be utilized, and structural changes may be made withoutdeparting from the spirit or scope of the present invention. Thefollowing detailed description is therefore not to be taken in alimiting sense and the scope of the present invention is defined by theappended claims and their equivalents.

Referring now to the drawings, in which like numerals refer to likeelements through the several figures, aspects of the present inventionand an exemplary computing operating environment will be described. FIG.1 and the following discussion are intended to provide a brief, generaldescription of a suitable computing environment in which the inventionmay be implemented. While the invention will be described in the generalcontext of program modules that execute in conjunction with anapplication program that runs on an operating system on a personalcomputer, those skilled in the art will recognize that the invention mayalso be implemented in combination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the invention may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Embodiments of the invention may be implemented as a computer process(method), a computing system, or as an article of manufacture, such as acomputer program product or computer readable media. The computerprogram product may be a computer storage media readable by a computersystem and encoding a computer program of instructions for executing acomputer process. The computer program product may also be a propagatedsignal on a carrier readable by a computing system and encoding acomputer program of instructions for executing a computer process.

With reference to FIG. 1, one exemplary system for implementing theinvention includes a computing device, such as computing device 100. Ina basic configuration, the computing device 100 typically includes atleast one processing unit 102 and system memory 104. Depending on theexact configuration and type of computing device, the system memory 104may be volatile (such as RAM), non-volatile (such as ROM, flash memory,etc.) or some combination of the two. System memory 104 typicallyincludes an operating system 105 suitable for controlling the operationof a networked personal computer, such as the WINDOWS® operating systemsfrom MICROSOFT Corporation of Redmond, Wash. The system memory 104 mayalso include one or more software applications 106, and may includeprogram data 107. This basic configuration is illustrated in FIG. 1 bythose components within dashed line 108.

In one embodiment, the application 106 may comprise many types ofprograms, such as a word processing application program, a spreadsheetapplication, a desktop publishing, and the like. According to anembodiment of the present invention, the application program 106comprises a multiple-functionality software application for providing auser calendaring functionality, electronic mail functionality, contactsinformation functionality, electronic notes functionality, electronicjournal functionality and the like. Some of the individual programmodules comprising such a multiple-functionality program 106 include acalendar module, an electronic mail program, a contacts module, a tasksmodule, a notes module and a journal module (not shown). An example ofsuch a multiple-functionality program 106 is OUTLOOK® manufactured byMicrosoft Corporation.

The computing device 100 may have additional features or functionality.For example, the computing device 100 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 1 by removable storage 109 and non-removable storage110. Computer storage media may include volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Systemmemory 104, removable storage 109 and non-removable storage 110 are allexamples of computer storage media. Computer storage media includes, butis not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computingdevice 100. Any such computer storage media may be part of device 100.Computing device 100 may also have input device(s) 112 such as keyboard,mouse, pen, voice input device, touch input device, etc. Outputdevice(s) 114 such as a display, speakers, printer, etc. may also beincluded. These devices are well known in the art and need not bediscussed at length here.

The computing device 100 may also contain communication connections 116that allow the device to communicate with other computing devices 118,such as over a network in a distributed computing environment, forexample, an intranet or the Internet. Communication connection 116 isone example of communication media. Communication media may typically beembodied by computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. The term “modulated data signal” means a signal that has one ormore of its characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. The term computer readable media asused herein includes both storage media and communication media.

FIG. 2 illustrates a computer screen display of an electronic mailapplication user interface showing a navigation pane, a mail list paneand a preview pane. The user interface 200 is representative of anelectronic mail application user interface in which a variety ofelectronic mail items may be displayed to a user. As should beunderstood by those skilled in the art, the user interface 200illustrated in FIG. 2 along with the example content illustrated in theuser interface 200 is for purposes of example only and is not limitingor restrictive of the vast amount of different types of electronic mailcontent and functionality that may be provided in an electronic mailapplication user interface. Referring then to FIG. 2, the user interface200 illustrated in FIG. 2 includes a variety of functionality buttonsincluding a file button 205, an edit button 215, a view button 220, anda tool bar 225 in which may be displayed a variety of selectablefunctionality controls (not shown) for selecting functionality foroperating on data displayed in the user interface 200.

Along the right-hand side of the user interface 200 is a preview pane290. In the preview pane 290, the contents of a selected or givenelectronic mail message may be displayed to allow a user to quicklyreview a portion or all of the contents of a given electronic mailmessage. A mailbox list pane 285 is displayed in the middle of the userinterface 200. The mailbox list pane 285 may be in the form of an inbox,sent mailbox, unread mailbox, particular mail folder mailbox, and thelike. The list pane 285 includes a listing of received or sentelectronic mail items associated with a given mail data type (e.g.,received, sent, unread, folder, etc.). As should be understood by thoseskilled in the art, the list pane 285 may be selectively replaced withan inbox pane, outbox pane, a sent mail items pane, an unread mail pane,or a variety of other panes associated with different types of mailitems that may be reviewed via the user interface 200. According toembodiments of the present invention, the content provided in thepreview pane 290 is keyed to electronic mail items listed in the listpane 285.

Along the left-hand side of the user interface 200 is a navigation pane230. The navigation pane 230 may include selectable items associatedwith various types of data that may be displayed and/or edited via theuser interface 200. For example, a favorite folders section 235 includesan example personal mail folder (e.g., “Joe Mail”), a business mailfolder (e.g., “Project A” mail) and a miscellaneous folder (e.g., “OldMail”). Selection of one of these folders causes a display of theassociated panes 285 and 290, as described above. For example, selectionof the “Project A” folder causes an inbox mail list pane 285 and anassociated electronic mail preview pane 290 to be displayed, where alist of mail items from the “Project A” folder are displayed in the listpane 285 and where a preview of a selected mail item is displayed in thepreview pane 290.

An additional section 240 contained in the navigation pane 230 includesvarious data folders associated with the currently in-use softwaremodule, for example, an electronic mail module. An “All Mail” folder 275includes all mail items stored in association with the in-use mailmodule. The “All Mail” folder serves as a parent folder to a number ofsub-folders or child folders that contain subsets of the data itemscontained in the overall “All Mail” folder. For example, an “Inbox”folder contains received email items. An “Unread” folder may containemail items that have not been read. A “Sent” folder may contain sentmail items.

At the lower end of the navigation pane 230 is a software applicationmodule selection area. The software module selection area includesselectable controls associated with different software applications thatmay be selected for launching associated applications and associateduser interfaces 200. For example, selection of the mail control 255causes the launching of an associated electronic mail application andthe display of an electronic mail application user interface 200, asillustrated in FIG. 2. Similarly, selection of the calendar control 260causes the launching of an electronic calendar application and causesthe display of an associated calendar application user interface 200.Selection of a contacts control 265 causes the launching of a contactsapplication and causes the launching of an associated contactsapplication user interface 200 (not shown). As should be understood bythose skilled in the art, the number and types of software applicationmodules illustrated in FIG. 2 are for purposes of example only and arenot limiting of other types of software application modules that may beprovide, such as a tasks module, a journal module, a notes module, andthe like. Also, as should be understood, the icons illustrated in FIG. 2for the selectable controls 255, 260, 265, 270 are for purposes ofexample only and are not limiting of the variety of different types ofvisual icons that may be used for identifying different softwareapplications.

Selection of other software modules as described herein not only causesthe launching of an associated software application and the display ofan associated user interface 200, but also populates the navigation pane230 with selectable controls associated with data storage folders forthe selected software module. For example, if a calendar module isselected, then the navigation pane 230 may be populated with one or moreselectable controls associated with one or more calendar storagefolders, for example, a storage folder for a business calendar, astorage folder for a personal calendar, a storage folder for a socialcalendar, and the like. Similarly, selection of a contacts softwaremodule causes the launching of an associated contacts application andthe display of a user interface 200 associated with the contactsapplication. The navigation pane 230 will likewise be populated with oneor more data storage folders associated with the contacts application,for example, a business contacts folder, a personal contacts folder, aproject contacts folder, or a variety of other folders desired by theuser.

For another example, if a user is currently utilizing a calendar module,and the user is currently viewing calendaring items, for example,appointments, contained in a particular calendar module data storagefolder, for example, a business calendar folder, the search and findpane 300 is operative to locate calendar data items, for example,appointments, contained in the business calendar folder. For anotherexample, if the user is currently utilizing a notes module, and the useris currently viewing notes items contained in a “personal notes” storagefolder, then the search and find pane 300 of the present invention isoperative to locate particular data items in the storage folder in use.As will be described in detail below, the scope of a given search may beautomatically expanded or “Upscoped” to search for items contained in abroader storage area, for example, the “All Mail” folder 275,illustrated in FIG. 2.

Integrated Search and Find

According to embodiments, a search and find pane 300 is provided forsearching the storage folders associated with the presently deployedsoftware module. For example, if a user is currently viewing electronicmail items contained in the “Inbox” folder, illustrated in section 240,the search and find pane 300 is operative to locate email itemscontained in that folder. If a user is currently viewing email items inthe “Project A” mail folder, illustrated in section 235, the search andfind pane 300 is operative to locate email items contained in thatfolder. As will be described in detail below, the scope of a givensearch may be automatically expanded or “Upscoped” to search for itemscontained in a broader storage area, for example the “All Mail” folder.If a different software module is selected, for example, a calendarmodule, the search and find pane 300 may be used to search data foldersassociated with a calendar module, such as different stored calendarviews. If a contacts module is selected, the search and find pane 300may be used to search for data contained in different contacts folders,and so on. Example upscoping mechanisms disposed in navigation panes fordifferent software modules are illustrated in FIG. 9 below.

Referring still to FIG. 2, the integrated search and find pane 300 isprovided in the user interface 200 above the mailbox list pane 285between the navigation pane 230 and the preview pane 290. When thesearch and find pane 300 is utilized, as described herein, to search fora particular data item, for example, an email message from a particularsender, results from the mail search, including all electronic mailitems containing a keyword or other search query with which a search isinitiated are listed beneath the search and find pane 300 in a resultslist as illustrated by the electronic mail messages 295 and 297 shownbeneath the pane 300 in FIG. 2.

According to embodiments of the present invention, the speed andefficiency of searching via the search and find pane 300 is enhancedthrough the use of data indexing. According to data indexing, each datastorage folder is indexed on a periodic basis to allow subsequentsearching via the search and find pane 300 to be operated against anindex associated with stored data as opposed to requiring the search andfind mechanism to search all data contained in a given storage folder inresponse to each initiated search. For example, referring to FIG. 2, ona periodic basis, all electronic mail items contained in the “Inbox”storage folder, illustrated in section 240, are periodically indexedaccording to a variety of terms and data types which may be utilized forefficiently searching and finding particular data items in that folder.For example, terms and/or data types that may be utilized for indexingelectronic mail items may include “from”, “to”, “data”, “attachments”,“name”, and the like. Thus, if a subsequent search is initiated via thesearch and find pane 300 against an indexed data folder, data itemsresponsive to the search may be found more rapidly. According toembodiments, searches against indexed data folders may be performed infractions of seconds as opposed to significantly longer periods fornon-indexed data storage folders.

For example, if a user searches for all electronic mail items containedin a target folder based on a particular name, then the name supplied bythe user may be processed against names indexed for the target storagefolder for efficiently returning data items contained in the targetstorage folder corresponding to the name provided by the user. Likewise,if a user initiates a search of the target storage folder for allelectronic mail items received from a named party on a particular date,then the search and find mechanism of the present invention may utilizeindexing based on key terms or landmarks such as “from,” “name” and“date” for efficiently retrieving data responsive to the initiatedsearch. As should be appreciated, similar indexing is performed forother types of data storage folders associated with other softwaremodules, for example, calendar modules, contacts modules, tasks modules,notes modules, journal modules, and the like. For example, all datacontained in a given storage folder for a calendar module may beperiodically indexed based on a variety of landmarks or key termsassociated with calendar data, for example, appointments, appointmentstart times, appointment end times, appointment dates, appointmentattendees, and the like.

According to embodiments of the present invention, the speed andefficiency of searching and finding desired data items via the searchand find pane 300 is also enhanced by applying an initiated searchagainst data contained in a currently in-use data storage folder. Forexample, if a user is currently reviewing electronic mail contained inthe “Sent” mail folder, illustrated in section 240 of the navigationpane 230, a search initiated by the user via the search and find pane300 is run against only those data items contained in the “Sent” mailfolder. By running the initiated search against only those data itemscontained in the currently in-use data folder, the search is moreefficient and more rapid because a limited number of data items must beparsed in response to the search.

In addition, by limiting the initiated search to only those data itemscontained in the currently in-use data folder, user satisfaction isincreased because if the user is currently viewing data items containedin a particular data folder, for example, the “Sent” mail folder, thenthe user likely expects that an initiated search will be run againstonly those data items contained in the currently in-use data folder.Thus, not only is speed and efficiency of the search enhanced bylimiting the search to data contained in the currently in-use datafolder, but user expectations and satisfaction are enhanced by trainingthe user that any search and find operation initiated by the user willbe first initiated against the currently in-use data folder and will besubsequently initiated against a broader set of data items only uponuser action.

The search and find pane 300 is a simplified user interface containing aminimum number of components for ease of use and for minimization ofuser interface display space consumption. According to embodiments, thesearch and find pane 300 is maintained in a visible and easilydiscoverable location, as illustrated in FIG. 2, and is kept in closeproximity to the data folders upon which the search and find pane 300acts for the user interfaces 200 of all associated software modules. Thesearch and find pane is automatically deployed in the user interfaces200 for each of the respective software modules. There is no requirementfor manually launching the search and find pane 300, and thus, thesearch and find pane 300 remains constantly visible and discoverable tothe end user. Referring still to FIG. 2, the operation flow for use ofthe search and find pane 300 begins by selecting a particular datafolder from the navigation pane 230 which sets the scope of a subsequentsearch, followed by initiation of a search using the search and findpane 300 which filters data contained in the selected data folderaccording to a search query, followed by a presentation of results ofthe search beneath the search and find pane 300, and followed by apresentation of a preview of selected results items in the preview pane290. Alternatively, the operation flow for use of the search and findpane 300 may begin upon the entry of a search string into the textbox310 without first setting a particular search scope. That is, accordingto this embodiment, a search may begin automatically on the presentscope (e.g., Sent mail items) when a search string is entered into thetextbox 310.

Referring now to FIG. 3, as briefly described above, for betterdiscoverability, the search and find pane 300 is located approximatelyin the center of the user interface 200 above a data list pane of thecurrent software module in use. By placing the search and find pane 300in this location, the search and find pane is more visible, morediscoverable and more useful to end users. According to one embodiment,the search and find pane 300 may be displayed as wide as the entirewidth of the current software module's results or data display space,for example, the mail items list pane 285, illustrated in FIG. 2. Abackground color or shading may be applied to the search and find pane300 to set it off from surrounding controls and panes contained in theuser interface 200 for further enhancing discoverability. According toone embodiment, when the search and find pane 300 is in use, where anycontrol in the search and find pane is selected or when a search is inprogress, the background gradient, shading or coloring of the search andfind pane 300 may be altered for creating a visual appearance that thesearch and find pane 300 is in operation. For further enhancingdiscoverability during an active search initiated via the search andfind pane 300, the currently selected data folder, for example, the“Sent” data folder may be highlighted (276) for indicating that anactive search is presently in operation against the highlighted datafolder.

Referring still to FIG. 3, the search and find pane 300 includes anumber of user interface elements. On the left of the pane 300, amagnifying glass icon 305 is displayed for indicating to an end userthat the pane 300 is associated with searching and finding desired dataitems. As should be appreciated, the icon 305 may be displayed indifferent locations for best use of available display space, forexample, the icon may be displayed in the textbox 310, or the icon maybe eliminated altogether. The search textbox 310 is provided in whichfree form alphanumeric (e.g., alphabetic or numeric characters) input,including special characters, may be entered for construction of asearch query for processing against the indexed data contained in thecurrently in-use data folder. For example, whole words, partial words,or combination of words may be entered into the textbox 310 forinitiation of a search. For example, text strings such as “sea,”“search,” “search spec,” or “search for specification” may be enteredinto the textbox 310 to initiate a desired search. According to oneembodiment, a character limit, such as 255 characters, may be imposed onthe textbox 310. Such a character limit may be imposed as a securitymeasure to reduce a risk of a user's data being attacked and compromisedvia the search mechanism. According to one embodiment, a keyboardshortcut, for example, “CRTL+E,” may be utilized for automaticallyplacing focus in the textbox 310 for quickly initiating a search usingthe search and find pane 300.

According to an embodiment, a search context identification string maybe displayed in the textbox 310 to alert a user as to the currentcontext of an initiated search if the search scope is not changed. Forexample, if the user is currently using the “Sent” mail folder, a textstring may be displayed in the textbox 310, such as “Now searching theSent mail folder,” to alert the user that an initiated search will bedirected at the “Sent” mail folder unless the user changes the scope tosome other data folder. For another example, if a user has selectivelydirected searches to be against all mail items, the identificationstring may read “Now searching all mail items” or the like. The textstring may be colored or shaded in a manner to distinguish it from asearch query. When a search query is entered into the textbox 310, thecontext identification string is replaced.

At the right end of the textbox 310, a most recently used (MRU) dropdown list control 315 is provided. Selection of the MRU control 315causes deployment of a drop down list containing a number of previouslyused search strings. Selection of one of the most recently used searchstrings from the drop down list causes automatic insertion of theselected search string into the textbox 310 for initiation of anassociated search. As will be described below, an alternative embodimentincludes deployment of a dropdown menu upon selection of the control 315for changing the scope of a given search, including selection of an MRUlist.

A search may be initiated after entry of a search string query into thetextbox 310 according to a number of methods. According to a firstmethod, a “results as you type” method (also known as “word-wheeling”)may be employed. According to this method, as a text string is beingentered into the textbox, an automatic search may be initiated againstthe indexed data of the currently in-use data folder that is dynamicallyupdated as each new character is entered into the text string. Forexample, if a first character of “B” is entered, a search will beautomatically processed against all data items contained in thecurrently in-use data folder having the character “B.” As a nextcharacter is appended to the search string, for example, “O”, the searchis dynamically updated against the currently in-use data folder for dataitems matching a search string of “BO.” If a next character is appendedto the search string, for example, “B,” the search is dynamicallyupdated to list those items contained in the currently in-use datafolder containing the string “BOB”. That is, according to theword-wheeling method, the results list of data items responsive to thesearch is automatically populated and is dynamically updated with eachadditional alphanumeric character appended to the current search querystring being entered into the textbox 310.

According to a second method, a search is not initiated until a useraction following entry of a search string query. According to thismethod, a search query is entered into the textbox 310, for example, thetext string “Bob,” followed by a user action such as the selection of acarriage return for initiating a search of the currently in-use datafolder with the entered search string. Alternatively, after the entry ofa desired search query in the textbox 310, or after the selection of apreviously entered search query from the most recently used drop downlist, a “Go” button 340 may be populated adjacent to the textbox 310, asillustrated in FIG. 4. Selection of the “Go” button 340 may theninitiate a search of the currently in-use data folder based on thesearch query populated in the textbox 310.

A progress indicator strip 330 is provided for showing a visualindication that a search is in progress. According to one embodiment, ananimation, for example, a color or light moving from side to side in theprogress indicator strip 330, may be provided during the time of anactive search on a target data folder. Upon conclusion of an activesearch, the animation displayed in the progress indicator strip 330ceases to indicate that a search has concluded or has been stopped.

According to one embodiment, a title bar 335 is displayed immediatelyabove the search and find pane 300 for displaying a title of thecurrently in-use data folder, for example, the “Inbox” data folder.After a search has been conducted on the currently in-use data folder, aparenthetical description of the results is appended to the title of thecurrently in-use data folder displayed in the title bar 335. Forexample, referring to FIG. 3, after a search on the text string “aaro,”a parenthetical of “(results for “aaro”)” is appended to the title“Inbox” for further clarifying to an end user that the presentlydisplayed data in the display space 285 beneath the search and find pane300 includes data items responsive to an executed search.

A clear/stop button 320 is provided to delete text from the textbox 310immediately, thus clearing the search and find pane 300 and returningthe current module view to its original state before any search and findoperation was initiated. That is, selection of the “clear” button 320clears a search string in the textbox 310 and clears any search resultsdisplayed responsive to a given search string. For example, if thecontents of a currently in-use data folder, for example, the “Sent” mailfolder were displayed in the display space 285 prior to the initiationof a search on the “Sent” data folder, and the search and find pane 300is subsequently used for searching for particular items contained in thecurrently in-use data folder, the results of the search will bedisplayed in a results list in the display space 285 in place of thepreviously displayed contents of the in-use data folder. According toembodiments, selection of the clear/stop button 320 ends the operationof the search and find pane 310, clears the search string from thetextbox 310, and returns the display of data in the user interface 200to its display state prior to initiation of the search and findoperation.

According to another embodiment, the button 320 may activate differentfunctionalities based on the current context, and a text stringdisplayed in the button 320 may be changed accordingly. For example,during an active search, the button 320 may be labeled with a textstring such as “Stop,” and selection of the “Stop” button may cause anactive search to cease. After a search has been completed, the buttonmay be labeled with a text string such as “Clear,” as described above.Other functions, for example, refresh may be enabled for causing arefreshed or updated search on the same search query. In such a context,a text label such as “Refresh” may be applied to the button 320. Asshould be appreciated, the button 320 may be used (and labeled)according to many different contexts.

Other mechanisms may be used for returning the display of data in theuser interface 200 to a pre-search state. For example, manuallyselecting the currently in-use data folder, for example, the “Sent” mailfolder from the navigation pane 230, will end a search and findoperation and will return a display of data in the user interface 200 toa pre-search state. Selection a different data folder or a differentsoftware module likewise will end a search and change the display stateof the user interface 200 and its components to a different state. If asearch is in progress that is taking longer than a set amount of time,for example, 2 seconds, to return a set of search results, the textlabel for the clear/stop button 320 may be replaced with the text “Stop”for indicating to a user that the button may be used for stopping thepresently in progress search and for returning currently availablesearch results. Other methods for returning the user interface displayto a pre-search state may include keyboard entries or shortcuts, forexample, selection of the “Esc” key.

Adjacent to the clear/stop button 320 is an expanded search control 325,decorated with chevrons, according to one embodiment. The expandedsearch control 325 allows for expansion of the search and find pane 300into an expanded search and find pane described below with reference toFIGS. 6 and 7.

According to an embodiment, a search status string may be displayedbeneath the search textbox 310 for providing information about thesearch and for providing additional functionality applicable to thesearch. For example, if a search nets 200 items, and only 20 items maybe displayed in a results list, described below, a text string may bedisplayed between the textbox 310 and the results list 500 for informingthe user about the search. For example, a text string may be displayed,such as “The first 20 of 200 items.” In addition, the text string may beenabled as a selectable link for providing additional functionality, forexample, “Select here to retrieve the next 20 items.”

Referring now to FIG. 5, a results list 500 is illustrated for providinga list of data items responsive to an executed search beneath the searchand find pane 300, as illustrated in FIG. 2. According to embodiments,data retrieved as the result of an executed search and listed in theresults list 500 may be listed according to a variety of listing ordersselected by the end user. For example, the data may be arranged by date,by time, by alphabetical order or by any other arrangement propertyavailable to the currently in-use software module. According to oneembodiment, to further clarify to an end user that the user is lookingat a filtered set of search results rather than the normal view of allcontents of a particular data folder, a vertical strip 505 is presentedalong the left edge of the results list 500. The vertical strip may beslightly highlighted for distinguishing the vertical strip fromsurrounding display colors.

According to an embodiment, a hit highlighting mechanism is provided forhighlighting in each displayed result item the text string that was usedfor executing the search. For example, referring to FIG. 5, if a searchof electronic mail items is conducted on a target data folder based on asearch string of “Bob”, then the string “Bob” is highlighted in eachlisted data item responsive to the search. For example, a first searchresult is listed for a person named “Bob Smith.” The string “Bob” ishighlighted by a highlighting field 515 to distinguish the text stringas a hit associated with the returned data item. In addition, ahighlighting bar 510 is applied to the entire first data item 295illustrated in FIG. 5 to indicate that the first data item is thecurrently selected data item and to indicate that a preview of theselected (or focused on) item may be available in the preview pane 290.For another example, a third data item is illustrated in FIG. 5 and isassociated with an electronic mail received from a person named “JoeBobson.” A highlighting field 525 is shown over the string “Bob,”contained in the string “Bobson,” for quickly indicating to the end userthe reason this data item was returned in response to the executedsearch.

According to embodiments, hit highlighting may be applied to any textstring contained in a displayed data item. For example, if a searchstring used for executing a search on a target data folder is found inthe title or text of an attachment to a data item contained in thetarget data folder, for example, a word processing document attached toan electronic mail item, a title or excerpt from the attachment may bedisplayed immediately underneath the displayed data item, and the searchtext string may be highlighted in the displayed attachment title orexcerpt.

In a lower portion of the results list 500, an “Upscoping” link 540 isprovided for automatically changing a scope of the executed search to abroader set of searched data. Operation of upscoping is described belowwith reference to FIGS. 8 and 9.

Expanded Search and Find

As described above, the search and find pane 300 allows for a searchingand retrieval of data items from target data folders based on keywordsor other alphanumeric strings entered into the search and find pane 300for searching indexed data based on the entered alphanumeric textstrings or keywords. Often the results of a search do not successfullyretrieve one or more desired data items from the target data folderbecause the requesting user does not enter an appropriate keyword oralphanumeric search query for locating the desired data items. Forexample, the user may remember that an electronic mail message wasreceived at some point in the past concerning an issue of importance tothe user, but the user is unable to construct a keyword or otheralphanumeric text string for use in the search and find pane 300 thatefficiently locates the desired data item.

Referring now to FIG. 6, an expanded search and find pane 610 isprovided for allowing a requesting user to execute a search on a targetdata folder that is based on specified landmark or key search criteriaso that a more tailored search may be applied to the target data folderfor locating the desired data items. According to an embodiment, a“landmark” refers to a “memorable aspect” or property of an item forwhich a search is conducted, for example, a party to whom a mail item issent, or a time when a mail item was received, and the like. Arelatively small number of key recall landmarks or search criteria areutilized in the expanded search and find pane 610 for allowing end usersto focus on commonly used properties of data items so that tailoredsearches may be crafted. According to embodiments, a pre-selected set oflandmark search criteria are provided through the expanded search andfind pane 610 for each software module through which a search and findoperation is executed. For example, if an electronic mail module iscurrently in use and an “Inbox” data folder is currently in use, thenthe expanded search and find pane 610 may be populated with a smallnumber of textboxes associated with landmark search criteria that allowthe user to tailor a search for electronic mail items.

Referring to FIG. 6, example landmark search criteria textboxes includea “From” box for finding mail from a particular party, a “Date” box forfinding mail received on a particular date, a “Category” box, and an“Attributes” box for finding mail with selected attributes, for example,whether a given mail item includes attachments, is unread, is flagged,includes links, and the like. As should be appreciated, if the expandedsearch and find pane 610 is open through another software module, forexample, a calendar software module, then the expanded search and findpane 610 may allow for tailored searches based on other landmark searchcriteria, for example, meeting times, meeting dates, meeting attendees,and the like.

Referring now to FIG. 7, the expanded search and find pane 610 ispositioned immediately beneath the search and find pane 300, describedabove. As described above with reference to FIGS. 3 and 4, the expandedsearch and find pane 610 is launched by selection of the expanded searchbutton 325. Upon selection of the button 325, the expanded search andfind pane 610 automatically deploys as illustrated in FIGS. 6 and 7. Inorder to collapse or dismiss the expanded search and find pane 610, thebutton 325 is selected a second time. According to embodiments, theexpanded search and find pane 610 includes background colors, shadingsor gradient to set it off from surrounding display space and controls inthe same manner as is used for the search and find pane 300.

A number of search criteria textboxes are made available to a searchinguser for tailoring an expanded search and find request. As illustratedin the pane 610, a number of textboxes 715, 720, 725, 730 are provided,and a requesting user may enter alphanumeric text strings in each of theprovided textboxes or select a string or term from a dropdown menuassociated with a given textbox for creating a search query. Forexample, the first textbox 715 is illustrated as a “From” textbox andmay be used to enter a text string associated with the sender of anelectronic mail item. The second textbox 720 is illustrated as a “Date”textbox and may be used to enter or select a date associated with anelectronic mail item. The third textbox 725 is illustrated as a“Category” textbox and may be used to enter or select a mail categoryassociated with an electronic mail item. A fourth textbox 730 isillustrated as an “Attributes” textbox and may be used to enter orselect attributes that are associated with a desired mail item, forexample, attachments, importance level, and the like.

As illustrated in FIG. 7, a selectable control titled “Add morecriteria” is provided for allowing a user to add additional searchcriteria textboxes and for applying one or more desired landmark termsor criteria to added textboxes. In order to customize existingtextboxes, the criteria textbox label, for example “From,” is selectedto deploy a drop down menu from which a new criteria may be selected forcustomizing the search criteria textboxes provided in the expandedsearch and find pane 610. For example, if a user would like to changethe first search criteria associated with the textbox 715 from a “From”criteria to a “To” criteria, a drop down menu may be deployed forselecting a “To” criteria. Once the “To” criteria is selected, the word“From” illustrated next to the textbox 715 will be replaced with theword “To,” and the underlying functionality of the pane 610 will bechanged to apply text entered into that textbox to properties ofsearched mail items associated with recipients of mail items. As shouldbe appreciated, each of the illustrated textboxes may be modified toreceive keywords or other alphanumeric text strings associated with manydifferent criteria. Example search criteria that may be applied to thetextboxes 715, 720, 725, 730 include body, categories, courtesy copy(“cc”), contacts, created by, due by, flag color, follow-up, from,importance, message, received, sensitivity, status, sent, subject, andthe like. Thus, a user may tailor the expanded search and find pane 610by specifying the types of search criteria that will be applied to agiven search.

In addition, for some criteria, for example, date, category, attributes,sensitivity, flag color, categories, importance, attributes or any othercriteria having selectable ranges of key terms or properties, anadditional drop down menu may be enabled under the textbox, as isillustrated for the drop down menu 735 in FIG. 7. For example, for an“Attributes” criteria, a drop down menu is enabled to allow a user tocraft an expanded search by selecting one or more attributes orproperties that may be associated with a desired item, for example,whether the item includes attachments, whether the item is unread,whether the item is marked as important, whether the item is flagged, orwhether the item includes links. For another example, if the usermodifies the expanded search and find pane 610 to include a category for“Flag color,” for example, a drop down menu 735 may be enabled under theflag category textbox for picking from available flag colors, such asred, blue, green, yellow, and the like. For another example, if a “Date”criteria is applied to the expanded search and find pane 610, a dropdown menu may be enabled which allows selection of specified datesincluding today, yesterday, this week, this month, this year, withinlast three days, within last two weeks, within last two months, withinlast one year, and the like. As should be appreciated, when a particularattribute is selected from such a drop down menu 735, the selectedattribute is automatically populated into the associated textbox 730 forapplying to the associated search.

According to one embodiment, while the expanded search and find pane 610may be modified to include different sets of search criteria, asdescribed above, certain default sets of search criteria are providedfor the expanded search and find pane 610 in association with certainsoftware modules. For example, for an electronic mail module, searchcriteria of from, date, category and attributes are applied to the pane610, as illustrated in FIG. 7. For a calendar module, default searchcriteria applied to the pane 610 include organizer (from), category,date range, and special attributes. For a contact module, default searchcriteria applied to the pane 610 include name, company/organization,phone number (primary) and special attributes. For a notes module,search criteria applied to the pane 610 include keyword, date, label,and special attributes. For a journal module, search criteria that maybe applied to the pane 610 by default include keyword, date, type, andspecial attributes. As should be appreciated, these default sets ofsearch criteria applied for different software modules are organized forguiding a requesting user through an efficient expanded search for dataitems in target data folders associated with certain software modules.However, as described above, the expanded search and find pane may bemodified by selecting different or additional search criteria forinclusion in the pane 610 and by selecting the “Add more criteria”control for adding additional search criteria to a given set of searchcriteria included in the pane 610.

In operation, the expanded search and find pane 610 may be used forcrafting a tailored search query directed to an in-use storage datafolder, for example, the “Inbox” data folder, the “Sent” data folder, ora variety of other data folders associated with other software modules,for example, calendar modules, contacts modules, etc. For example, if anelectronic mail module is currently in use, and a “Project A” mailfolder is currently being reviewed, a tailored search may be applied tothe in-use mail folder for finding a particular mail item where the useris having difficulty constructing an appropriate keyword search or otheralphanumeric string for use with the search and find pane 300, describedabove. After the user launches the expanded search and find pane 610,the user may enter a name from which the desired electronic mail itemwas received into the textbox 715. The user may then select a date, forexample, “this week” from a drop down menu associated with the datetextbox 720. The user may then select a category of electronic mailitems to be applied to the search. If the user is unsure of a particularcategory with which the desired electronic mail item is associated, theuser may select the “all” category. Then, if the user remembers that thedesired electronic mail item included an attachment, the user may selectan attachment attribute from the “Attributes” textbox drop down menu735.

According to embodiments, as the search is being crafted by therequesting user, as described above, a search string associated with thesearch criteria selected and/or entered by the user is populated intothe textbox 310 of the search and find pane 300 positioned above theexpanded search and find pane 610. Thus, as the user crafts a tailoredsearch query utilizing the expanded search and find pane 610, the useris able to see the syntax and structure of a search query populated intothe textbox 310 of the search and find pane 300 in response to thesearch criteria selected from the expanded search and find pane 610. Forexample, a search string entered into the textbox 310 of the search andfind pane 310 may take the form of “From: Carlos, Date: this week,Category: all, attachment.” As should be appreciated, this search stringis for purposes of illustration and does not illustrate a particularsearch string syntax or structure that may be use according toembodiments of the invention.

Displaying the tailored search string in the textbox 310 of the searchand find pane 300 in response to the application of search criteria viathe expanded search and find pane 610 is advantageous from both aquality control and user learning standpoint. From a quality controlstandpoint, if the search string being populated into the textbox 310 inresponse to the search criteria applied by the user does not appearaccurate to the user in any way, for example, where a date criterialooks inaccurate, or where an attributes criteria appears inaccurate,the user may modify the search criteria and keywords or otheralphanumeric text strings applied to the expanded search before thesearch is performed. Alternatively, the user may modify the searchcriteria or keywords after the search is performed if the results of thesearch are not satisfactory.

From a user learning standpoint, display of the search string in thetextbox 310 allows a user to learn the syntax and text string structureutilized by the search and find pane 300 in response to search criteriaapplied to a given search via the expanded search and find pane 610. Forexample, if in response to the application of certain search criteriaand the entry of certain keywords or other alphanumeric text, a searchstring in the form of “From: Carlos, Date: this week, Category: all,attachment” is populated into the textbox 310 of the search and findpane 300, the user will begin to learn the syntax and structure ofsearch strings created in response to various search criteria andkeywords applied to a given search. Once the user has learned the syntaxand structure of search strings applied in response to the selection ofvarious search criteria and the use of various keywords or otheralphanumeric strings, the user may subsequently be able to enter asearch string directly into the textbox 310 of the simplified search andfind pane 300 that includes search criteria, certain keywords and otheralphanumeric strings without the need for launching and using theexpanded search and find pane 610. That is, by learning the syntax andstructure applied to search queries by the expanded search and find pane610, the user may enter complex search queries directly into the textbox310 of the simplified search and find pane 300 for execution of expandedsearches without using the expanded search and find pane 610.

Once the search query is developed through selection of the varioussearch criterion, the tailored search may be executed by selecting acarriage return, keyboard shortcut, or by selecting an execute button,such as the “Go” button 340, illustrated in FIG. 4. Or, if a“word-wheeling” mechanism is enabled, as described above, the query isimmediately executed and updated upon entry of different or additionalcharacters. As described above with reference to the search and findpane 300, searches executed via the expanded search and find pane 610are executed on indexed data associated with an in-use or target datafolder for increasing efficiency and speed of search and data retrieval.In response to the executed search, results from the search are providedin a results list 500 in the display space 285 of the user interface200, as illustrated and described above with reference to FIGS. 2 and 5.As described above, hits highlighting applied to search criteriaassociated with the search is provided for indicating to a reviewinguser why a particular data item was returned in response to the executedsearch.

Broadened Search and Find (Upscoping)

As described above with reference to FIGS. 1-7, a search query may bedirected to an in-use data folder by entry of a search string into thesimplified search and find pane 300 or by use of the expanded search andfind pane 610 for tailoring a more complex and specific search query.Often, a user is working in a particular data folder, for example, a“Sent” mail folder or “Unread” mail folder, and the user directs hersearch queries to data items contained in the in-use data folder. If theresults returned from execution of a given search query on the in-usefolder are not satisfactory in that a desired data item is not returned,the user must expand the search to a broader set of data items.According to embodiments of the present invention, a “upscoping”mechanism is provided for allowing a user to quickly and automaticallyexpand the scope of a present search query to all data items associatedwith a given software module. If a search is directed to a data folderthat is a subset of an overall parent data folder, for example, where asearch is directed to a “Sent” mail folder which is a subfolder of an“All mail” folder, different means are available for automaticallyupscoping a search initially directed to the subfolder to a larger datafolder containing additional data items to which the search may beapplied.

Referring now to FIGS. 5 and 9, after a search is directed to a givendata folder via the search and find pane 300 or the expanded search andfind pane 610, as described above, if the search was directed to asubfolder, an “upscoping” link 540, 825 is automatically populated belowthe list of data items returned in response to the previous search. Thelink 540, 825 may be accompanied by an explanatory text string such as“Don't see what you're looking for?” or “Try searching again in:”followed by a display of the “upscoping” link 540, 825. According toembodiments, if a user selects the “upscoping” link, for example the“All Mail Items” link 825, the presently applied search string via thesimplified search and find pane 300 or the expanded search and find pane610 is automatically applied to all data items contained in all datafolders included under “All Mail Items.” For example, if a user firstapplies a search via the pane 300 or pane 610 directed at the “Sent”mail folder, and the user does not receive desired results, the linkpopulated below the results list will allow the user to selectivelyapply the present search query entered via the pane 300 or pane 610against all mail items contained in all mail folders, for example,“Sent” mail, “Inbox” mail, “Unread” mail, “Deleted” mail, and the like.As will be described below, if the present software module in use is adifferent module, for example, a calendar module, then the link providedbelow the results list will allow application of a present search queryagainst all data items of the different module, for example, allcalendar items.

According to embodiments, a second means for automatically upscoping apresent search to all data items associated with a presently in-usesoftware module includes selecting an “All ‘module’ items” control fromthe navigation pane 230, where “module” represents the currently in-usesoftware module (e.g., mail, calendar, contacts, etc.). If a presentsearch query, for example, “mail from Bob,” is applied to a presentlyin-use “Sent” mail folder via the search and find pane 300, and thedesired mail item is not found, the user may select the “All mail”folder 275 from the navigation pane 230, for example, by mouse clickingthe “All mail” control 275, and the search string originally applied tothe “Sent” mail folder will automatically be applied to the “All mail”folder. In either case where upscoping is executed by selecting theupscoping link 540, 825, or where upscoping is executed by selecting the“All ‘module’ items” control from the navigation pane 230, the searchstring originally applied to the presently in-use data folder is appliedto the larger parent folder, and results responsive to the search queryare returned and are displayed in the results list 500, described abovewith reference to FIG. 5.

Referring now to FIG. 9, example navigation panes for different softwaremodules are illustrated showing the “All ‘module’ items” controls andvarious subfolders available under each of the different softwaremodules. As should be appreciated, the example navigation panes andselectable controls illustrated in FIG. 9 are for purposes of exampleonly and are not limiting of the different types of navigation panes andselectable controls that may be utilized according to embodiments of thepresent invention. As illustrated in FIG. 9, a navigation pane 910 foran electronic mail module includes “All Mail Items” control for applyinga search query to all mail items contained under the electronic mailmodule. A navigation pane 920 is illustrated for a calendar module, andan “All Calendars” control is illustrated for selectively applying asearch query against all calendars, for example, personal calendars,business calendars, social calendars, and the like stored under anassociated calendar application. A navigation pane 930 is illustratedfor a contacts module having an “All Contacts” control for selectivelyapplying a search query to all contacts data folders associated with thecontacts module. A navigation pane 940 is illustrated for a tasks moduleand provides an “All Tasks” control for selectively applying a searchquery against all tasks folders associated with a task module. Anavigation pane 950 is illustrated for a notes module and provides an“All Notes” control for selectively applying a search query to all notesfolders associated with a notes module. A navigation pane 960 isillustrated for a journal module and shows an “All Journals” control forselectively applying a search query to all journal folders associatedwith a journal module.

FIG. 10 illustrates the computer screen display of FIG. 2, showing adropdown menu for selectively changing the scope of a given searchoperation, or for obtaining one or more additional functionalities. Asillustrated in FIG. 10, the dropdown menu 1010 may be deployed byselection of the control 315. The dropdown menu 1010 may include one ormore selectable controls for changing the scope of a given search or forobtaining additional functionality of the associated software module.For example, a “Recent Searches” control 1025 may be selected fordeploying a list of most recently used search strings, as describedabove. A “Search All Mail Items” control 1030 may be selected forupscoping a current search from a given search folder to a larger searchfolder, as described above with reference to FIGS. 8 and 9. A “SearchOptions” control 1050 may be selected for providing one or moreselectable options associated with the search function in use. A “Help”control 1050 may be selected for obtaining help content associated withsearches directed to the current search context, or for obtaininggeneral help content associated with the software module in use.

According to an embodiment, a “Search Desktop” control 1040 is providedfor upscoping a search from the current search scope to an operatingsystem level desktop scope with which the contents of a memory storageof the associated computer 100 may be searched. In this case the currentsearch takes the form of a child data folder search, and the desktoptakes the form of a parent data folder, as described above withreference to FIGS. 8 and 9. For example, according to one embodiment,selection of the “Search Desktop” control 1040 causes a launching andinitiation of a “Desktop” search function, such as the WINDOWS® DesktopSearch function. The search query currently in use is automaticallypopulated into the Desktop Search function for initiation of the search.As should be appreciated, the search applied via the Desktop Searchfunction may be applied to memory stored on the local computer 100, orthe search may be applied to memory stored via a distributed network,such as remotely located servers or such as memory locations availablevia an intranet or the Internet. As should be appreciated, results ofsuch an “upscoped” search may be displayed in an appropriate resultslist of the Desktop Search function.

As described herein, a search and find user interface is provided thatis integrated with a data indexing engine to allow efficient andhigh-speed data search and retrieval across data storage foldersassociated with a given software module or associated with a number ofdisparate software modules. An expanded form of the search and find userinterface is provided for advanced searching, and where searching isrequired beyond a present search scope, an automatic “upscoping”mechanism is provided for expanding a search to data storage foldersoutside a current data storage folder on which an initial search isexecuted. The various embodiments described above are provided by way ofillustration only and should not be construed to limit the invention.Those skilled in the art will readily recognize various modificationsand changes that may be made to the present invention without followingthe example embodiments and applications illustrated and describedherein, and without departing from the true spirit and scope of thepresent invention, which is set forth in the following claims.

What is claimed is:
 1. A method of providing an expanded search and findfunctionality in a software module, comprising: disposing a search andfind user interface element in close proximity to one or more selectabledata folders; disposing one or more search criteria text boxes in theuser interface element for receiving one or more respective searchcriteria; operatively associating the search and find user interfaceelement with an indexed data folder; receiving an entry of one or moresearch criteria in the one or more search criteria text boxes; receivingan indication of an initiation of a search query based on the one ormore search criteria entered into the one or more search criteria textboxes against the indexed data folder; and displaying any data itemsfound in the indexed data folder matching the search query in a resultslist disposed beneath the user interface element.
 2. The method of claim1, further comprising providing a menu of selectable search criteria forat least one of the one or more search criteria text boxes for allowinga selection of a predefined search criteria for the at least one of theone or more search criteria text boxes.
 3. The method of claim 1,further comprising providing a menu of selectable search criteria textboxes for customizing the one or more search criteria text boxesdisposed in the user interface element.
 4. The method of claim 3,further comprising receiving a selection of a search criteria text boxfrom the menu of selectable search criteria text boxes for replacing oneof the one or more search criteria text boxes disposed in the userinterface element for customizing the one or more search criteria textboxes disposed in the user interface element.
 5. The method of claim 1,prior to displaying any data items found in the indexed data foldermatching the search query in a results list disposed beneath the userinterface element, returning any data items contained in the indexeddata folder where the any data items contain information responsive tothe search query.
 6. The method of claim 5, further comprising disposinga narrow bar vertically along an edge of the results list for indicatingthe results list contains one or more data items responsive to a searchof an indexed data folder.
 7. The method of claim 5, wherein ifinformation contained in the search query is present in a displayedportion of any of the displayed data items, highlighting the informationcontained in the search query that is present in the displayed portion.8. The method of claim 1, further comprising disposing the userinterface element containing the one or more search criteria text boxesbeneath a search and find pane, the search and find pane containing atext box for receiving free form entry of an alphanumeric search query.9. The method of claim 8, further comprising constructing a search queryfrom any search criteria entered into the one or more search criteriatext boxes, and automatically entering the search query into the textbox contained in the search and find pane.
 10. The method of claim 9,wherein receiving an indication of an initiation of a search query basedon the one or more search criteria entered into the one or more searchcriteria text boxes against the indexed data folder, includes receivingan indication of an initiation of a search query based on theconstructed search query automatically entered into the text boxcontained in the search and find pane.
 11. An expanded search and finduser interface, comprising: an expanded search and find user interfaceelement disposed in a software module user interface between anavigation pane and a data preview pane and beneath a simplified searchand find pane; the expanded search and find user interface element beingfurther disposed above a list pane for displaying data from one or moredata folders contained in the navigation pane; the expanded search andfind user interface element being operatively associated with an indexeddata folder; and one or more search criteria text boxes disposed in theexpanded search and find user interface element for receiving one ormore respective search criteria for constructing a search query forsearching the indexed data folder.
 12. The expanded search and find userinterface of claim 11, further comprising a menu of selectable searchcriteria provided for at least one of the one or more search criteriatext boxes for allowing a selection of a predefined search criteria forthe at least one of the one or more search criteria text boxes.
 13. Theexpanded search and find user interface of claim 12, further comprisingmenu of selectable search criteria text boxes provided for customizingthe one or more search criteria text boxes disposed in the userinterface element.
 14. The expanded search and find user interface ofclaim 13, further comprising a results list disposed beneath theexpanded search and find user interface element for displaying resultsof a search of the indexed data folder.
 15. The expanded search and finduser interface of claim 14, further comprising a narrow bar disposedvertically along an edge of the results list for indicating the resultslist contains one or more data items responsive to a search of theindexed data folder.
 16. A computer readable medium containing computerexecutable instructions which when executed by a computer perform amethod for providing an expanded search and find functionality in asoftware module, comprising: disposing a search and find user interfaceelement in close proximity to one or more selectable data folders;disposing one or more search criteria text boxes in the user interfaceelement for receiving one or more respective search criteria;operatively associating the search and find user interface element withan indexed data folder; receiving an entry of one or more searchcriteria in the one or more search criteria text boxes; receiving anindication of an initiation of a search query based on the one or moresearch criteria entered into the one or more search criteria text boxesagainst the indexed data folder; displaying any data items found in theindexed data folder matching the search query in a results list disposedbeneath the user interface element; and if information contained in thesearch query is present in a displayed portion of any of the displayeddata items, highlighting the information contained in the search querythat is present in the displayed portion.
 17. The computer readablemedium of claim 11, the method further comprising providing a menu ofselectable search criteria for at least one of the one or more searchcriteria text boxes for allowing a selection of a predefined searchcriteria for the at least one of the one or more search criteria textboxes.
 18. The computer readable medium of claim 11, the method furthercomprising: providing a menu of selectable search criteria text boxesfor customizing the one or more search criteria text boxes disposed inthe user interface element; and receiving a selection of a searchcriteria text box from the menu of selectable search criteria text boxesfor replacing one of the one or more search criteria text boxes disposedin the user interface element for customizing the one or more searchcriteria text boxes disposed in the user interface element.
 19. Thecomputer readable medium of claim 11, the method further comprisingdisposing the user interface element containing the one or more searchcriteria text boxes beneath a search and find pane, the search and findpane containing a text box for receiving free form entry of analphanumeric search query.
 20. The computer readable medium of claim 19,the method further comprising: constructing a search query from anysearch criteria entered into the one or more search criteria text boxes,and automatically entering the search query into the text box containedin the search and find pane; and wherein receiving an indication of aninitiation of a search query based on the one or more search criteriaentered into the one or more search criteria text boxes against theindexed data folder, includes receiving an indication of an initiationof a search query based on the constructed search query automaticallyentered into the text box contained in the search and find pane.